#include <mega16.h>
#include <delay.h>  
#include <math.h>
#define DA_CE  PORTA.6
#define DA_DAT PORTC.7
#define DA_CLK PORTA.7  


void spi_out_a(unsigned int j)
{  
  unsigned char u;  
 
  j=j&0xfff;
  j=j+0b1000000000000000; 
  DA_CE=1;
  DA_DAT=1;
  DA_CLK=1;
  delay_us(10);
  DA_CE=0;
  for(u=0;u<16;u++)
       { 
         if(j&0x8000)
           {
           DA_DAT=1;
           }
          else
           {
           DA_DAT=0;
           }
         delay_us(1);
         DA_CLK=1;
         delay_us(1);
         DA_CLK=0;
         delay_us(1);
         j<<=1;
       } 
       delay_us(1);
   DA_CE=1;  
   
}


void spi_out_b(unsigned int j)
{  
  unsigned char u;    
  
  j=j&0xfff;
  DA_CE=1;
  DA_DAT=1;
  DA_CLK=1;
  delay_us(10);
  DA_CE=0;
  for(u=0;u<16;u++)
       { 
         if(j&0x8000)
           {
           DA_DAT=1;
           }
          else
           {
           DA_DAT=0;
           }
         delay_us(1);
         DA_CLK=1;
         delay_us(1);
         DA_CLK=0;
         delay_us(1);
         j<<=1;
       } 
       delay_us(1);
   DA_CE=1;   
  
}